package com.shf.lease.web.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shf.lease.entity.ApartmentInfo;
import com.shf.lease.result.Result;
import com.shf.lease.web.admin.controller.apartment.query.QueryApartmentParams;
import com.shf.lease.web.admin.controller.apartment.request.ApartmentCmd;
import com.shf.lease.web.admin.controller.apartment.response.ApartmentDetailVo;
import com.shf.lease.web.admin.controller.apartment.response.PageListApartmentVo;
import com.shf.lease.web.admin.controller.apartment.response.PageListVo;

/**
* @author 叶枫
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service
* @createDate 2024-07-05 16:43:45
*/
public interface ApartmentInfoService extends IService<ApartmentInfo> {


    /**
     * 分页查询公寓信息
     *
     * @param queryParams 查询条件
     * @return
     */
    Result<PageListVo<PageListApartmentVo>> queryPageListApartment(QueryApartmentParams queryParams);

    /**
     * 新增或保存公寓
     * @param request 请求实体
     * @return
     */
    Result saveOrUpdateApartment(ApartmentCmd request);

    /**
     * 根据id查询公寓详情
     * @param id 公寓id
     * @return
     */
    Result<ApartmentDetailVo> getDetailById(Long id);

    /**
     * 根据id删除公寓
     * @param id 公寓id
     * @return
     */
    Result deleteApartment(Long id);
}
